package com.example.module.goods.form;


import com.example.common.unit.PageUtil.PageParam;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.util.Date;

/**
 * @author ghy
 * @date 2025/08/12
 * @description 查询商品表单
 */
@Data
public class GetGoodsForm extends PageParam {
    /**
     * 商品ID
     */
    private Long goodsId;
    /**
     * 商品类型ID
     */
    private Long goodsTypeId;

    /**
     * 上架用户ID
     */
    private Long userId;

    /**
     * 商品名称
     */
    private String goodsName;

    /**
     * 商品数量
     */
    private Double goodsQuantity;

    /*
     * 最低商品价格
     * */
    private Double minGoodsPrice;

    /*
     * 最高商品价格
     * */
    private Double maxGoodsPrice;

    /**
     * 商品状态
     */
    private String goodsState;

    /*
     * 用户名称
     * */
    private String userName;

    /*
     * 商品类型名称
     * */
    private String goodsTypeName;

    /*
     * 最早上架时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date goodsUptimeStart;

    /*
     * 最晚上架时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date goodsUptimeEnd;

    /*
     * Getter and Setter
     * */

    public Long getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    public Long getGoodsTypeId() {
        return goodsTypeId;
    }

    public void setGoodsTypeId(Long goodsTypeId) {
        this.goodsTypeId = goodsTypeId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public Double getGoodsQuantity() {
        return goodsQuantity;
    }

    public void setGoodsQuantity(Double goodsQuantity) {
        this.goodsQuantity = goodsQuantity;
    }

    public Double getMinGoodsPrice() {
        return minGoodsPrice;
    }

    public void setMinGoodsPrice(Double minGoodsPrice) {
        this.minGoodsPrice = minGoodsPrice;
    }

    public Double getMaxGoodsPrice() {
        return maxGoodsPrice;
    }

    public void setMaxGoodsPrice(Double maxGoodsPrice) {
        this.maxGoodsPrice = maxGoodsPrice;
    }

    public String getGoodsState() {
        return goodsState;
    }

    public void setGoodsState(String goodsState) {
        this.goodsState = goodsState;
    }

    public Date getGoodsUptimeStart() {
        return goodsUptimeStart;
    }

    public void setGoodsUptimeStart(Date goodsUptimeStart) {
        this.goodsUptimeStart = goodsUptimeStart;
    }

    public Date getGoodsUptimeEnd() {
        return goodsUptimeEnd;
    }

    public void setGoodsUptimeEnd(Date goodsUptimeEnd) {
        this.goodsUptimeEnd = goodsUptimeEnd;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getGoodsTypeName() {
        return goodsTypeName;
    }

    public void setGoodsTypeName(String goodsTypeName) {
        this.goodsTypeName = goodsTypeName;
    }
}
